1. Field of the Invention
The present invention relates to networked computer systems, including computer systems implemented over a local area network (wireless and/or wired) and computer systems implemented over a wide area network (wireless and/or wired).
2. Description of the Related Art
In some conventional computer systems, multiple operating systems run on a single set of processing hardware of a single computer. For example, in some conventional computer systems, a piece of software called a “hypervisor” controls the running of multiple operating systems, which operating systems are sometimes called “virtual machines.” In some conventional hypervisor-and-virtual-machine computer systems, the virtual machines are “containerized” in that each virtual machine runs substantially independently of the other virtual machine(s) that are run by the common hypervisor. The hypervisor effects its control of the virtual machines by “virtualizing,” or, in other words, emulating the actual, physical resources of the hardware upon which the hypervisor runs. By virtualizing the actual resources, the hypervisor can actually communicate with various resources of the computer (see DEFINITIONS section), on behalf of each containerized virtual machine, in series, which is to say, in some sort of time division multiplexed manner At the same time, because the hypervisor communicates with the various, containerized virtual machines through code emulating virtualized hardware, each virtualized machines has no way of detecting the sharing of computer resources. Because of this, the virtualized machine operating systems do not need to be equipped to deal with the fact that they are sharing computer resources. This means that standard, pre-existing operating systems, such as WINDOWS operating systems or LINUX operating systems, may be used for each virtual machine operating system. (“WINDOWS” is used as a trademark of the Microsoft Corporation and may be subject to commonlaw and/or trademark-registration-based trademark rights in various jurisdictions throughout the world.)
Because hypervisors virtualize computer resources, they tend to require a lot of code and processing power in order to fully and accurately emulate the specific resources that they emulate. Furthermore, a given piece of hypervisor software must include code to emulate all of the resources of the computer system upon which it runs. If the hypervisor includes virtualization code for resources that its computer system does not have, then that is an inefficiency because those code portions cannot be allowed to be used by the virtual machines running on the hypervisor. Of more concern is the fact that the hypervisor might be missing code to run certain resources. In fact, if there is too bad of a mismatch between the resources that the hypervisor has code portions to emulate, and the actual resources of the computer system upon which it runs, then the computer system will be inoperable. In this sense, hypervisors tend to be either inefficient (that is, lots of extra code portions), or else inflexible and unrobust (that is, unable to accommodate a wide variety of computer systems having different combinations of resources).
The named inventor of the present application has developed a different kind of computer system for running multiple operating systems and/or multiple, containerized operating systems on a single computer. According to this system, the multiple operating systems communicate more directly with the actual resources of the computer system under the control of a module (for example, a piece of software) called a “controller kernel.” The concept of the controller kernel and various preferred embodiments of the computer systems utilizing such a controller kernel are more fully described in the following patent application documents: (i) Ser. No. 12/234,131 (filed Sep. 19, 2008 and published as publication number 2009-0083829 A1 on Mar. 26, 2009); (ii) Ser. No. 12/234,158 (filed Sep. 19, 2008 and published as publication number 2009-0083630 A1 on Mar. 26, 2009); (iii) Ser. No. 12/234,223 (filed Sep. 19, 2008 and published as publication number 2009-0083450 A1 on Mar. 26, 2009); and (iv) U.S. provisional patent application No. 60/973,923, filed on Sep. 20, 2007 (collectively, “Controller Kernel Background Documents”). The Controller Kernel Background Documents are hereby incorporated by reference in their respective entireties to the fullest extent allowed by law.
FIG. 1 shows a conventional computer system 100 including server computer 102; thin client I 110; thin client II 120; and audio/video (“A/V”) output device 128. Server computer 102 includes processing hardware set 104; network protocol encapsulation software 106; and wireless transmitter 103. Thin client I includes: processing hardware set 112; network protocol de-encapsulation software 116; and integral A/V output device 118. In operation, the server computer supplies the bulk of the processing capability for thin client I and thin client II, and communicates with these thin clients over a wireless communication network using some network communication protocol (such as TCP/IP, HTTP).
In the prior art system of FIG. 1, part of the data that is communicated from the server computer to each thin client is a video signal. The video signals are generated by processing hardware set 104 to be in a format such as jpg, bmp, gif, tiff, pcx or other formats that are not suitable for direct display on a standard monitor. Rather, these formats require processing by computer processing hardware before there is a video signal in a “true video” format which is in condition for direct display on a standard monitor. These non-true-video format video signals are sent to network protocol encapsulation software 106, which encapsulates them into a suitable network protocol (for example, TCP/IP, HTTP). The encapsulated video signals are then sent in a tunneling manner out through processing hardware set 104 to wireless transmitter 103. The encapsulated video signals are respectively received by wireless receivers 113 and 123 and sent to respective processing hardware sets 112 and 122. The processing hardware sets have the video signals de-encapsulated by respective network protocol de-encapsulation software 116 and 126 so that they go back to being non-true-video signals not wrapped in a network protocol. The respective processing hardware sets 112 and 122 then convert the non-true-video signals into true video signals (sometimes with the help of appropriate conversion software, not shown). After the video signals are converted into true video signals, they are sent to the respective display devices 118 and 128 where they are displayed to the respective users (not shown) of the thin client terminals. U.S. patent application 2008/0055191 (“Craig”) is an example of such a prior art system (see Craig at paragraph 0020).
Description Of the Related Art Section Disclaimer: To the extent that specific publications are discussed above in this Description of the Related Art Section, these discussions should not be taken as an admission that the discussed publications (for example, published patents) are prior art for patent law purposes. For example, some or all of the discussed publications may not be sufficiently early in time, may not reflect subject matter developed early enough in time and/or may not be sufficiently enabling so as to amount to prior art for patent law purposes. To the extent that specific publications are discussed above in this Description of the Related Art Section, they are all hereby incorporated by reference into this document in their respective entirety(ies).